#include "bib_Abrir_Configuracion.h"
#include "bib_Log.h"
#include "bib_Socket.h"

char nivelLog;

int main(void){

	struct CONFIG_EST config;
	int sock;
	int sockEntrante;
	struct sockaddr addrEntrante;
	struct HEADER_NIPC header;
	char *payload;
	
	if (abrirConfiguracion(&config))
		return FIN_ERROR;
		
	if (abrirSocketServidor(&sock, config.miPuerto, 10))
		return FIN_ERROR;
	
	if(aceptarConexion(sock, &sockEntrante, &addrEntrante))
		return FIN_ERROR;
	
	if (recibirMensajeMPSDinamico(sockEntrante, &header, &payload))
		return FIN_ERROR;
	
	imprimirLogNumerico(INFO, "Type:", header.type);
	imprimirLogNumerico(INFO, "Payload Length:", header.payloadLength);
	imprimirLog(INFO, "Payload:", payload);
	
	free(payload);
	cerrarSocket(sock);
	cerrarSocket(sockEntrante);
	
	return FIN_OK;
}